Large and complex data sets can be difficult to view on devices with small screens, such as on smartphones, or in small windows or viewports on devices with large screens. In the context of spreadsheets, for example, some approaches to viewing large data sets on small screens focus on treating the large data set as a “baby spreadsheet,” and present data in the same way as a large screen view. This approach can make it hard to navigate data sets of moderate to large size. For example, the user will typically need to scroll through many rows and columns before reaching a particular cell that he or she is interested in. Furthermore, row and column headings can be far removed from a particular cell of interest, which can force the user to scroll back and forth repeatedly to find and understand the context of that cell. Row and column headings can be “locked” according to known techniques such that no matter how far a user scrolls down and to the right, column headings will always appear at the top of a display, and row headings will always appear to the left of the display. However, in spreadsheets where there are many layers of row and column headings, such as when row and column headings are organized in a nested hierarchy having two or more levels, “locking” row and column headings so that they are always visible can take up valuable space on a small display.
In the context of dashboards of graphs or charts, layouts that are effective on a large display can also be difficult to consume on a small display. For example, layouts that arrange graphs or charts next to each other on a horizontal line can be difficult and non-intuitive for a user to navigate. Furthermore, graphs or charts can be sized too tall or too wide for a small screen, thus forcing the user to scroll back and forth repeatedly to see the whole graph or chart at once.